Skip to content

fix(vueNodes): decrease default size of reroute nodes#8734

Open
christian-byrne wants to merge 8 commits intomainfrom
fix/vue-nodes/reroute-default-size
Open

fix(vueNodes): decrease default size of reroute nodes#8734
christian-byrne wants to merge 8 commits intomainfrom
fix/vue-nodes/reroute-default-size

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Feb 8, 2026

Summary

Remove the 225px minimum width constraint from reroute nodes so they render at their intended ~75×26px size.

Changes

  • What: Reroute nodes now bypass the min-w-[225px] CSS constraint and bottom padding applied to regular nodes. resizable: false is set on the RerouteNode constructor to hide the resize handle. An isRerouteNode computed in LGraphNode.vue gates these behaviors by checking nodeData.type === "Reroute".

Review Focus

Fixes #4704

Screenshots (if applicable)

Reroute nodes now render at ~75px wide instead of being forced to 225px minimum.

┆Issue is synchronized with this Notion page by Unito

@github-actions
Copy link

github-actions bot commented Feb 8, 2026

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 02/28/2026, 12:47:24 PM UTC

Links

@github-actions
Copy link

github-actions bot commented Feb 8, 2026

🎭 Playwright: ❌ 542 passed, 2 failed · 6 flaky

❌ Failed Tests

📊 Browser Reports
  • chromium: View Report (✅ 529 / ❌ 2 / ⚠️ 6 / ⏭️ 10)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 10 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 8, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Disables UI resizing for reroute nodes, tightens their computed size, exempts them from default min-width/min-height and certain padding in the Vue renderer, and adds unit and E2E tests verifying smaller sizing and absence of resize handles.

Changes

Cohort / File(s) Summary
Reroute Node Core
src/extensions/core/rerouteNode.ts
Sets this.resizable = false in the RerouteNode constructor and adjusts computeSize height logic (uses 50 instead of 75 when showOutputText is true).
Vue Node Render / Styling
src/renderer/extensions/vueNodes/components/LGraphNode.vue
Adds isRerouteNode computed flag; conditionally omits min-w/min-h and certain padding for reroute nodes; separates rendering branches so reroute nodes render slots/body differently and avoid guard rails applied to regular nodes.
Component Unit Tests
src/renderer/extensions/vueNodes/components/LGraphNode.test.ts
Adds mockRerouteNodeData and tests asserting reroute nodes bypass min-size constraints and do not render a resize handle while regular nodes do.
End-to-End Test
browser_tests/tests/vueNodes/rerouteNodeSize.spec.ts
New Playwright/Vue E2E test that loads a workflow with a reroute node, locates the reroute via the page graph model, asserts bounding box dimensions, and checks absence of resize affordances.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I nudged a tiny reroute, quick and neat,
A dot that hops where wire and shadows meet.
Small and spry, I weave the thread,
No handles cling, just room to tread.
A rabbit's cheer for lighter feet.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: reducing the default size of reroute nodes in Vue components.
Description check ✅ Passed The description covers all required template sections with clear explanations of what changed, breaking changes (none), and review focus points.
Linked Issues check ✅ Passed The PR implements the core requirement from issue #4704: making reroute nodes smaller by removing the 225px minimum width constraint and adjusting sizing to render at ~75×26px.
Out of Scope Changes check ✅ Passed All changes are directly related to reducing reroute node size: sizing adjustments, resizable property, CSS constraints, and comprehensive tests covering the new behavior.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/vue-nodes/reroute-default-size

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

github-actions bot commented Feb 8, 2026

📦 Bundle: 4.46 MB gzip 🟢 -258 B

Details

Summary

  • Raw size: 20.9 MB baseline 20.9 MB — 🔴 +382 B
  • Gzip: 4.46 MB baseline 4.46 MB — 🟢 -258 B
  • Brotli: 3.45 MB baseline 3.45 MB — 🟢 -135 B
  • Bundles: 228 current • 228 baseline • 108 added / 108 removed

Category Glance
Graph Workspace 🔴 +344 B (1.03 MB) · Other 🔴 +38 B (7.87 MB) · Vendor & Third-Party ⚪ 0 B (8.84 MB) · Data & Services ⚪ 0 B (2.55 MB) · Panels & Settings ⚪ 0 B (435 kB) · Views & Navigation ⚪ 0 B (72.1 kB) · + 5 more

App Entry Points — 17.9 kB (baseline 17.9 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-DeTn2_3a.js (removed) 17.9 kB 🟢 -17.9 kB 🟢 -6.34 kB 🟢 -5.51 kB
assets/index-Di2y7dP3.js (new) 17.9 kB 🔴 +17.9 kB 🔴 +6.33 kB 🔴 +5.48 kB

Status: 1 added / 1 removed

Graph Workspace — 1.03 MB (baseline 1.03 MB) • 🔴 +344 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-B_EdKa9Y.js (new) 1.03 MB 🔴 +1.03 MB 🔴 +219 kB 🔴 +165 kB
assets/GraphView-B3iKVpSP.js (removed) 1.03 MB 🟢 -1.03 MB 🟢 -219 kB 🟢 -165 kB

Status: 1 added / 1 removed

Views & Navigation — 72.1 kB (baseline 72.1 kB) • ⚪ 0 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-C3Y0BQGY.js (removed) 15.5 kB 🟢 -15.5 kB 🟢 -3.32 kB 🟢 -2.83 kB
assets/CloudSurveyView-CiSrtdf8.js (new) 15.5 kB 🔴 +15.5 kB 🔴 +3.32 kB 🔴 +2.82 kB
assets/CloudLoginView-CQJHHSlZ.js (new) 11.4 kB 🔴 +11.4 kB 🔴 +3.19 kB 🔴 +2.81 kB
assets/CloudLoginView-DrOvkfLg.js (removed) 11.4 kB 🟢 -11.4 kB 🟢 -3.2 kB 🟢 -2.82 kB
assets/CloudSignupView-39HMWwni.js (new) 9.37 kB 🔴 +9.37 kB 🔴 +2.69 kB 🔴 +2.36 kB
assets/CloudSignupView-aRJBs9Hx.js (removed) 9.37 kB 🟢 -9.37 kB 🟢 -2.7 kB 🟢 -2.37 kB
assets/UserCheckView-DxS9aquJ.js (new) 8.41 kB 🔴 +8.41 kB 🔴 +2.23 kB 🔴 +1.94 kB
assets/UserCheckView-TQEP5NNs.js (removed) 8.41 kB 🟢 -8.41 kB 🟢 -2.23 kB 🟢 -1.94 kB
assets/CloudLayoutView-CgYOXSHJ.js (new) 6.43 kB 🔴 +6.43 kB 🔴 +2.1 kB 🔴 +1.83 kB
assets/CloudLayoutView-DV_hry5n.js (removed) 6.43 kB 🟢 -6.43 kB 🟢 -2.1 kB 🟢 -1.82 kB
assets/CloudForgotPasswordView-CPj33DCk.js (new) 5.56 kB 🔴 +5.56 kB 🔴 +1.93 kB 🔴 +1.7 kB
assets/CloudForgotPasswordView-DReuDCxM.js (removed) 5.56 kB 🟢 -5.56 kB 🟢 -1.94 kB 🟢 -1.7 kB
assets/CloudAuthTimeoutView-UqdfNoZn.js (removed) 4.91 kB 🟢 -4.91 kB 🟢 -1.77 kB 🟢 -1.54 kB
assets/CloudAuthTimeoutView-VG1T09ta.js (new) 4.91 kB 🔴 +4.91 kB 🔴 +1.77 kB 🔴 +1.55 kB
assets/CloudSubscriptionRedirectView-B5VzAc-r.js (removed) 4.75 kB 🟢 -4.75 kB 🟢 -1.79 kB 🟢 -1.58 kB
assets/CloudSubscriptionRedirectView-fMXoXANE.js (new) 4.75 kB 🔴 +4.75 kB 🔴 +1.79 kB 🔴 +1.58 kB
assets/UserSelectView-Ck_wEI5P.js (removed) 4.5 kB 🟢 -4.5 kB 🟢 -1.64 kB 🟢 -1.47 kB
assets/UserSelectView-GbfmkaX_.js (new) 4.5 kB 🔴 +4.5 kB 🔴 +1.64 kB 🔴 +1.47 kB
assets/CloudSorryContactSupportView-Bypca0av.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/layout-CI4MZk1L.js 296 B 296 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

Panels & Settings — 435 kB (baseline 435 kB) • ⚪ 0 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SecretsPanel-2Gdkc4IP.js (new) 21.5 kB 🔴 +21.5 kB 🔴 +5.31 kB 🔴 +4.66 kB
assets/SecretsPanel-DjiWupJk.js (removed) 21.5 kB 🟢 -21.5 kB 🟢 -5.31 kB 🟢 -4.66 kB
assets/LegacyCreditsPanel-DAdWM8gv.js (new) 20.6 kB 🔴 +20.6 kB 🔴 +5.56 kB 🔴 +4.88 kB
assets/LegacyCreditsPanel-DJXKVMSF.js (removed) 20.6 kB 🟢 -20.6 kB 🟢 -5.57 kB 🟢 -4.89 kB
assets/SubscriptionPanel-C1ORjMoL.js (new) 18.2 kB 🔴 +18.2 kB 🔴 +4.65 kB 🔴 +4.09 kB
assets/SubscriptionPanel-C9Jhv-wK.js (removed) 18.2 kB 🟢 -18.2 kB 🟢 -4.66 kB 🟢 -4.1 kB
assets/KeybindingPanel-CIo5NXO3.js (removed) 12.3 kB 🟢 -12.3 kB 🟢 -3.52 kB 🟢 -3.12 kB
assets/KeybindingPanel-CV-Zqztq.js (new) 12.3 kB 🔴 +12.3 kB 🔴 +3.52 kB 🔴 +3.11 kB
assets/AboutPanel-C-wbdjJW.js (new) 9.79 kB 🔴 +9.79 kB 🔴 +2.73 kB 🔴 +2.45 kB
assets/AboutPanel-D43Y9RdL.js (removed) 9.79 kB 🟢 -9.79 kB 🟢 -2.73 kB 🟢 -2.45 kB
assets/ExtensionPanel-TVr_uQGZ.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.65 kB 🟢 -2.36 kB
assets/ExtensionPanel-wEHHriq8.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.65 kB 🔴 +2.37 kB
assets/ServerConfigPanel-CZbBcv55.js (removed) 6.44 kB 🟢 -6.44 kB 🟢 -2.13 kB 🟢 -1.92 kB
assets/ServerConfigPanel-qBLLdfDJ.js (new) 6.44 kB 🔴 +6.44 kB 🔴 +2.13 kB 🔴 +1.93 kB
assets/UserPanel-Bi98qW59.js (removed) 6.16 kB 🟢 -6.16 kB 🟢 -2 kB 🟢 -1.75 kB
assets/UserPanel-C-gTO5fb.js (new) 6.16 kB 🔴 +6.16 kB 🔴 +1.99 kB 🔴 +1.75 kB
assets/cloudRemoteConfig-BNrZhK0B.js (new) 1.44 kB 🔴 +1.44 kB 🔴 +701 B 🔴 +612 B
assets/cloudRemoteConfig-Zta7reG0.js (removed) 1.44 kB 🟢 -1.44 kB 🟢 -709 B 🟢 -613 B
assets/refreshRemoteConfig-BAwu4U_e.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +518 B 🔴 +456 B
assets/refreshRemoteConfig-fSKTwPSh.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -522 B 🟢 -449 B
assets/config-CGn5JFmU.js 996 B 996 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-B5oF6TeI.js 29.9 kB 29.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BVYOg4dh.js 24.5 kB 24.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CBEvSL1z.js 38.5 kB 38.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CGx1t8IZ.js 27.8 kB 27.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CNcb_4nC.js 30.5 kB 30.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Cx1dZM6H.js 23.9 kB 23.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Dw-QS6Nb.js 27.9 kB 27.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DXxgnCSn.js 32.4 kB 32.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-GRFn4guL.js 34.2 kB 34.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-mgwKIVQ2.js 28.8 kB 28.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-s83B801I.js 28.7 kB 28.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 10 added / 10 removed

User & Accounts — 16 kB (baseline 16 kB) • ⚪ 0 B

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/auth-BlyhrUG9.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.18 kB 🟢 -989 B
assets/auth-sas59UdM.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.18 kB 🔴 +991 B
assets/SignUpForm-CWLQ849a.js (new) 3.01 kB 🔴 +3.01 kB 🔴 +1.23 kB 🔴 +1.09 kB
assets/SignUpForm-DhGuis2v.js (removed) 3.01 kB 🟢 -3.01 kB 🟢 -1.23 kB 🟢 -1.09 kB
assets/UpdatePasswordContent-B2eCVDLr.js (new) 2.37 kB 🔴 +2.37 kB 🔴 +1.07 kB 🔴 +940 B
assets/UpdatePasswordContent-DV0l07Bh.js (removed) 2.37 kB 🟢 -2.37 kB 🟢 -1.07 kB 🟢 -944 B
assets/firebaseAuthStore-CCPWI1po.js (removed) 788 B 🟢 -788 B 🟢 -389 B 🟢 -344 B
assets/firebaseAuthStore-CtPsda90.js (new) 788 B 🔴 +788 B 🔴 +385 B 🔴 +348 B
assets/auth-DG7z6CMb.js (new) 357 B 🔴 +357 B 🔴 +225 B 🔴 +194 B
assets/auth-DzmVH_z_.js (removed) 357 B 🟢 -357 B 🟢 -226 B 🟢 -208 B
assets/PasswordFields-DLbVLg8O.js 4.51 kB 4.51 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WorkspaceProfilePic-D6ioir1T.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Editors & Dialogs — 736 B (baseline 736 B) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-BtgbYFj2.js (new) 736 B 🔴 +736 B 🔴 +378 B 🔴 +325 B
assets/useSubscriptionDialog-CjFAcok-.js (removed) 736 B 🟢 -736 B 🟢 -380 B 🟢 -325 B

Status: 1 added / 1 removed

UI Components — 47 kB (baseline 47 kB) • ⚪ 0 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useTerminalTabs-1eK9O3t5.js (new) 9.84 kB 🔴 +9.84 kB 🔴 +3.4 kB 🔴 +3 kB
assets/useTerminalTabs-Do-qPpat.js (removed) 9.84 kB 🟢 -9.84 kB 🟢 -3.4 kB 🟢 -3.01 kB
assets/ComfyQueueButton-COXb3kH3.js (removed) 8.02 kB 🟢 -8.02 kB 🟢 -2.49 kB 🟢 -2.23 kB
assets/ComfyQueueButton-Dd9We-mU.js (new) 8.02 kB 🔴 +8.02 kB 🔴 +2.49 kB 🔴 +2.23 kB
assets/SubscribeButton-5vNVJDq6.js (removed) 2.48 kB 🟢 -2.48 kB 🟢 -1.07 kB 🟢 -950 B
assets/SubscribeButton-Ck16EdUp.js (new) 2.48 kB 🔴 +2.48 kB 🔴 +1.07 kB 🔴 +940 B
assets/cloudFeedbackTopbarButton-B0FmFpGl.js (removed) 1.59 kB 🟢 -1.59 kB 🟢 -852 B 🟢 -765 B
assets/cloudFeedbackTopbarButton-Dt5uXdtJ.js (new) 1.59 kB 🔴 +1.59 kB 🔴 +852 B 🔴 +760 B
assets/ComfyQueueButton-B55l9IPT.js (new) 793 B 🔴 +793 B 🔴 +391 B 🔴 +348 B
assets/ComfyQueueButton-CX9OUG4s.js (removed) 793 B 🟢 -793 B 🟢 -396 B 🟢 -350 B
assets/Button-D1z3poyI.js 2.98 kB 2.98 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/CloudBadge-D1z3EKPy.js 1.16 kB 1.16 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/FormSearchInput-Bg4LklDe.js 3.73 kB 3.73 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ScrubableNumberInput-DecBFGbM.js 5.94 kB 5.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/TopbarBadge-CJNpTEnW.js 7.44 kB 7.44 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar-CnQQLXB-.js 1.17 kB 1.17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetButton-sg8Jj4MY.js 1.84 kB 1.84 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 5 added / 5 removed

Data & Services — 2.55 MB (baseline 2.55 MB) • ⚪ 0 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-cBvkrYfB.js (new) 1.75 MB 🔴 +1.75 MB 🔴 +393 kB 🔴 +296 kB
assets/dialogService-DQCT92LW.js (removed) 1.75 MB 🟢 -1.75 MB 🟢 -393 kB 🟢 -296 kB
assets/api-B_3tQdC7.js (new) 679 kB 🔴 +679 kB 🔴 +154 kB 🔴 +122 kB
assets/api-D2b6DH7I.js (removed) 679 kB 🟢 -679 kB 🟢 -154 kB 🟢 -122 kB
assets/load3dService-Dnzuu9Rj.js (removed) 91 kB 🟢 -91 kB 🟢 -19.1 kB 🟢 -16.4 kB
assets/load3dService-DryQ2TZr.js (new) 91 kB 🔴 +91 kB 🔴 +19.1 kB 🔴 +16.4 kB
assets/extensionStore-Caj0ziIA.js (new) 12.1 kB 🔴 +12.1 kB 🔴 +4.21 kB 🔴 +3.7 kB
assets/extensionStore-wQ9RgjqQ.js (removed) 12.1 kB 🟢 -12.1 kB 🟢 -4.21 kB 🟢 -3.7 kB
assets/releaseStore-C9fYDOdj.js (new) 7.96 kB 🔴 +7.96 kB 🔴 +2.22 kB 🔴 +1.95 kB
assets/releaseStore-xJ-WHGSv.js (removed) 7.96 kB 🟢 -7.96 kB 🟢 -2.22 kB 🟢 -1.95 kB
assets/keybindingService-CpBNFrGi.js (new) 6.52 kB 🔴 +6.52 kB 🔴 +1.71 kB 🔴 +1.47 kB
assets/keybindingService-GWMJMFta.js (removed) 6.52 kB 🟢 -6.52 kB 🟢 -1.71 kB 🟢 -1.48 kB
assets/bootstrapStore-Br4MZtvH.js (new) 2.08 kB 🔴 +2.08 kB 🔴 +873 B 🔴 +793 B
assets/bootstrapStore-BuvFmRnA.js (removed) 2.08 kB 🟢 -2.08 kB 🟢 -875 B 🟢 -786 B
assets/userStore-BD37JXO7.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -723 B 🟢 -637 B
assets/userStore-KoJL2i0M.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +720 B 🔴 +632 B
assets/audioService-B8nF9m_D.js (removed) 1.73 kB 🟢 -1.73 kB 🟢 -851 B 🟢 -726 B
assets/audioService-D6kDbpsC.js (new) 1.73 kB 🔴 +1.73 kB 🔴 +850 B 🔴 +722 B
assets/releaseStore-BnGGHJPL.js (removed) 760 B 🟢 -760 B 🟢 -382 B 🟢 -337 B
assets/releaseStore-DNWCRk0a.js (new) 760 B 🔴 +760 B 🔴 +385 B 🔴 +335 B
assets/settingStore-BB3OUcSA.js (removed) 744 B 🟢 -744 B 🟢 -387 B 🟢 -339 B
assets/settingStore-C0sJHkAN.js (new) 744 B 🔴 +744 B 🔴 +386 B 🔴 +340 B
assets/workflowDraftStore-DQG5IxOS.js (new) 736 B 🔴 +736 B 🔴 +378 B 🔴 +334 B
assets/workflowDraftStore-otflIPFT.js (removed) 736 B 🟢 -736 B 🟢 -379 B 🟢 -331 B
assets/dialogService-DjmbjQEA.js (removed) 725 B 🟢 -725 B 🟢 -368 B 🟢 -339 B
assets/dialogService-xiyzjFEL.js (new) 725 B 🔴 +725 B 🔴 +366 B 🔴 +348 B
assets/serverConfigStore-EPk4OtIK.js 2.32 kB 2.32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 13 added / 13 removed

Utilities & Hooks — 55.5 kB (baseline 55.5 kB) • ⚪ 0 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useLoad3d-BsFklDgy.js (new) 14.6 kB 🔴 +14.6 kB 🔴 +3.63 kB 🔴 +3.2 kB
assets/useLoad3d-DsGCx9cs.js (removed) 14.6 kB 🟢 -14.6 kB 🟢 -3.63 kB 🟢 -3.21 kB
assets/useLoad3dViewer-CTujyCY-.js (removed) 14.1 kB 🟢 -14.1 kB 🟢 -3.15 kB 🟢 -2.8 kB
assets/useLoad3dViewer-wAi4eaN7.js (new) 14.1 kB 🔴 +14.1 kB 🔴 +3.15 kB 🔴 +2.8 kB
assets/useFeatureFlags-B1XleMmA.js (new) 4.14 kB 🔴 +4.14 kB 🔴 +1.23 kB 🔴 +1.05 kB
assets/useFeatureFlags-BmkXQ8ys.js (removed) 4.14 kB 🟢 -4.14 kB 🟢 -1.24 kB 🟢 -1.06 kB
assets/useWorkspaceUI-BgUJJRRV.js (new) 3 kB 🔴 +3 kB 🔴 +822 B 🔴 +700 B
assets/useWorkspaceUI-moekS7A3.js (removed) 3 kB 🟢 -3 kB 🟢 -822 B 🟢 -704 B
assets/subscriptionCheckoutUtil-B9Dt7PTP.js (new) 2.53 kB 🔴 +2.53 kB 🔴 +1.06 kB 🔴 +928 B
assets/subscriptionCheckoutUtil-CHTqDZ6q.js (removed) 2.53 kB 🟢 -2.53 kB 🟢 -1.06 kB 🟢 -957 B
assets/useErrorHandling-CEfaNx4r.js (new) 1.5 kB 🔴 +1.5 kB 🔴 +630 B 🔴 +533 B
assets/useErrorHandling-Cjd7AASa.js (removed) 1.5 kB 🟢 -1.5 kB 🟢 -631 B 🟢 -534 B
assets/useWorkspaceSwitch-Bh2uCQ0l.js (removed) 1.25 kB 🟢 -1.25 kB 🟢 -544 B 🟢 -484 B
assets/useWorkspaceSwitch-oseaRYsV.js (new) 1.25 kB 🔴 +1.25 kB 🔴 +543 B 🔴 +484 B
assets/useLoad3d-AlPMdl2C.js (removed) 859 B 🟢 -859 B 🟢 -424 B 🟢 -377 B
assets/useLoad3d-BijnFzRu.js (new) 859 B 🔴 +859 B 🔴 +423 B 🔴 +381 B
assets/audioUtils-C6UtF5qR.js (new) 858 B 🔴 +858 B 🔴 +501 B 🔴 +426 B
assets/audioUtils-DeEy5Lqt.js (removed) 858 B 🟢 -858 B 🟢 -502 B 🟢 -403 B
assets/useLoad3dViewer-BfzxOgRN.js (new) 838 B 🔴 +838 B 🔴 +408 B 🔴 +368 B
assets/useLoad3dViewer-CvM7QU0P.js (removed) 838 B 🟢 -838 B 🟢 -409 B 🟢 -364 B
assets/useCurrentUser-ba4Qbfph.js (new) 722 B 🔴 +722 B 🔴 +369 B 🔴 +325 B
assets/useCurrentUser-Bbr__LF1.js (removed) 722 B 🟢 -722 B 🟢 -371 B 🟢 -341 B
assets/_plugin-vue_export-helper-ralzwvFM.js 315 B 315 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/colorUtil-CY7QMUhQ.js 7 kB 7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/envUtil-Clzmwvt4.js 466 B 466 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/markdownRendererUtil-Cddas8Zl.js 1.56 kB 1.56 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SkeletonUtils-BputJAFn.js 133 B 133 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/useExternalLink-DgEMZmBC.js 1.66 kB 1.66 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 11 added / 11 removed

Vendor & Third-Party — 8.84 MB (baseline 8.84 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-axios-Cp6hch1I.js 70.7 kB 70.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-chart-BxkFiWzp.js 399 kB 399 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-firebase-BvMr43CG.js 836 kB 836 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-i18n-DNX73mqE.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-markdown-D5S6AC80.js 103 kB 103 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-DrYd4O-6.js 1.52 MB 1.52 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-BnCPTL0g.js 1.73 MB 1.73 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-DVmi2O2Z.js 388 kB 388 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-sentry-SQwstEKc.js 182 kB 182 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-LBLOE6BD.js 1.8 MB 1.8 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-BnYkbQDM.js 634 kB 634 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-core-DtiQ1dr9.js 311 kB 311 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vueuse-D2jVNnmE.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-MKpa1ZAW.js 374 kB 374 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-yjs-CP_4YO8u.js 143 kB 143 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-zod-DcCUUPIi.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 7.87 MB (baseline 7.87 MB) • 🔴 +38 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-CBQgE3MJ.js (new) 73.4 kB 🔴 +73.4 kB 🔴 +18.9 kB 🔴 +16.2 kB
assets/core-Coo6VYuy.js (removed) 73.4 kB 🟢 -73.4 kB 🟢 -18.9 kB 🟢 -16.2 kB
assets/groupNode-BmpATJ3i.js (new) 71.8 kB 🔴 +71.8 kB 🔴 +17.7 kB 🔴 +15.6 kB
assets/groupNode-D-EjzbCn.js (removed) 71.8 kB 🟢 -71.8 kB 🟢 -17.7 kB 🟢 -15.5 kB
assets/WidgetSelect-DPQPPj_U.js (new) 58.1 kB 🔴 +58.1 kB 🔴 +12.4 kB 🔴 +10.7 kB
assets/WidgetSelect-DxKb7Fbh.js (removed) 58.1 kB 🟢 -58.1 kB 🟢 -12.4 kB 🟢 -10.7 kB
assets/SubscriptionRequiredDialogContentWorkspace-CMzhJ-jr.js (new) 46.3 kB 🔴 +46.3 kB 🔴 +8.65 kB 🔴 +7.49 kB
assets/SubscriptionRequiredDialogContentWorkspace-D1beIdaQ.js (removed) 46.3 kB 🟢 -46.3 kB 🟢 -8.66 kB 🟢 -7.51 kB
assets/WidgetPainter-86l45hm5.js (removed) 32.5 kB 🟢 -32.5 kB 🟢 -7.96 kB 🟢 -7.06 kB
assets/WidgetPainter-BN3Oj4qf.js (new) 32.5 kB 🔴 +32.5 kB 🔴 +7.96 kB 🔴 +7.05 kB
assets/Load3DControls-BOSSniA4.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -5.34 kB 🟢 -4.65 kB
assets/Load3DControls-CtByyF1n.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +5.34 kB 🔴 +4.65 kB
assets/WorkspacePanelContent-C-EuXVgS.js (removed) 29.3 kB 🟢 -29.3 kB 🟢 -6.15 kB 🟢 -5.39 kB
assets/WorkspacePanelContent-DEQfvrbt.js (new) 29.3 kB 🔴 +29.3 kB 🔴 +6.14 kB 🔴 +5.39 kB
assets/SubscriptionRequiredDialogContent-CHVi9tCM.js (removed) 25.7 kB 🟢 -25.7 kB 🟢 -6.58 kB 🟢 -5.78 kB
assets/SubscriptionRequiredDialogContent-DUUk43zP.js (new) 25.7 kB 🔴 +25.7 kB 🔴 +6.57 kB 🔴 +5.78 kB
assets/Load3dViewerContent-CkkjCsBs.js (removed) 23 kB 🟢 -23 kB 🟢 -5.18 kB 🟢 -4.5 kB
assets/Load3dViewerContent-D8HsoBwY.js (new) 23 kB 🔴 +23 kB 🔴 +5.18 kB 🔴 +4.49 kB
assets/WidgetImageCrop-BhvB7ng8.js (new) 22.1 kB 🔴 +22.1 kB 🔴 +5.5 kB 🔴 +4.86 kB
assets/WidgetImageCrop-KAngrLIt.js (removed) 22.1 kB 🟢 -22.1 kB 🟢 -5.51 kB 🟢 -4.85 kB
assets/SubscriptionPanelContentWorkspace-CZ1Izzxq.js (removed) 21.6 kB 🟢 -21.6 kB 🟢 -5.06 kB 🟢 -4.46 kB
assets/SubscriptionPanelContentWorkspace-D5RgNztf.js (new) 21.6 kB 🔴 +21.6 kB 🔴 +5.06 kB 🔴 +4.45 kB
assets/CurrentUserPopoverWorkspace-C1hF-80X.js (removed) 19.9 kB 🟢 -19.9 kB 🟢 -4.88 kB 🟢 -4.34 kB
assets/CurrentUserPopoverWorkspace-CM2jCipH.js (new) 19.9 kB 🔴 +19.9 kB 🔴 +4.88 kB 🔴 +4.34 kB
assets/SignInContent-D7CgOl0I.js (new) 18.9 kB 🔴 +18.9 kB 🔴 +4.76 kB 🔴 +4.17 kB
assets/SignInContent-DTTl1bM0.js (removed) 18.9 kB 🟢 -18.9 kB 🟢 -4.76 kB 🟢 -4.16 kB
assets/WidgetInputNumber-BlD0G3cH.js (new) 18.7 kB 🔴 +18.7 kB 🔴 +4.75 kB 🔴 +4.22 kB
assets/WidgetInputNumber-C2FZ8Hp3.js (removed) 18.7 kB 🟢 -18.7 kB 🟢 -4.75 kB 🟢 -4.22 kB
assets/WidgetRecordAudio-B_YamtmH.js (new) 17.3 kB 🔴 +17.3 kB 🔴 +4.94 kB 🔴 +4.43 kB
assets/WidgetRecordAudio-DMe8FoZC.js (removed) 17.3 kB 🟢 -17.3 kB 🟢 -4.95 kB 🟢 -4.42 kB
assets/Load3D-BYs4X5IO.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +4.03 kB 🔴 +3.52 kB
assets/Load3D-Ccz891rR.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -4.03 kB 🟢 -3.51 kB
assets/load3d-BPDvauPF.js (new) 14.7 kB 🔴 +14.7 kB 🔴 +4.18 kB 🔴 +3.63 kB
assets/load3d-DCU2Kyn4.js (removed) 14.7 kB 🟢 -14.7 kB 🟢 -4.19 kB 🟢 -3.63 kB
assets/AudioPreviewPlayer-BdI7NDzM.js (new) 10.9 kB 🔴 +10.9 kB 🔴 +3.19 kB 🔴 +2.85 kB
assets/AudioPreviewPlayer-BSHv5o2K.js (removed) 10.9 kB 🟢 -10.9 kB 🟢 -3.2 kB 🟢 -2.85 kB
assets/changeTracker-03Vtwxkx.js (new) 9.38 kB 🔴 +9.38 kB 🔴 +2.89 kB 🔴 +2.55 kB
assets/changeTracker-BZnczJ4E.js (removed) 9.38 kB 🟢 -9.38 kB 🟢 -2.9 kB 🟢 -2.55 kB
assets/nodeTemplates-BANIJ6bI.js (removed) 9.29 kB 🟢 -9.29 kB 🟢 -3.26 kB 🟢 -2.86 kB
assets/nodeTemplates-Ch1InYyE.js (new) 9.29 kB 🔴 +9.29 kB 🔴 +3.25 kB 🔴 +2.86 kB
assets/InviteMemberDialogContent-CNa2V84X.js (new) 7.38 kB 🔴 +7.38 kB 🔴 +2.29 kB 🔴 +2 kB
assets/InviteMemberDialogContent-CP8jgw9F.js (removed) 7.38 kB 🟢 -7.38 kB 🟢 -2.3 kB 🟢 -2 kB
assets/Load3DConfiguration-Cik9PMSe.js (removed) 6.27 kB 🟢 -6.27 kB 🟢 -1.91 kB 🟢 -1.68 kB
assets/Load3DConfiguration-nMRpqQl3.js (new) 6.27 kB 🔴 +6.27 kB 🔴 +1.91 kB 🔴 +1.68 kB
assets/CreateWorkspaceDialogContent-D7SPECi0.js (new) 5.53 kB 🔴 +5.53 kB 🔴 +1.99 kB 🔴 +1.74 kB
assets/CreateWorkspaceDialogContent-HKFAX5r8.js (removed) 5.53 kB 🟢 -5.53 kB 🟢 -2 kB 🟢 -1.74 kB
assets/onboardingCloudRoutes--9j10JX0.js (new) 5.41 kB 🔴 +5.41 kB 🔴 +1.84 kB 🔴 +1.62 kB
assets/onboardingCloudRoutes-DgZXEsPR.js (removed) 5.41 kB 🟢 -5.41 kB 🟢 -1.83 kB 🟢 -1.59 kB
assets/FreeTierDialogContent-BD-JC7u-.js (removed) 5.39 kB 🟢 -5.39 kB 🟢 -1.9 kB 🟢 -1.67 kB
assets/FreeTierDialogContent-D5N4ZnqV.js (new) 5.39 kB 🔴 +5.39 kB 🔴 +1.9 kB 🔴 +1.68 kB
assets/EditWorkspaceDialogContent-0NhDIne-.js (new) 5.33 kB 🔴 +5.33 kB 🔴 +1.94 kB 🔴 +1.7 kB
assets/EditWorkspaceDialogContent-BIy-z1WZ.js (removed) 5.33 kB 🟢 -5.33 kB 🟢 -1.95 kB 🟢 -1.7 kB
assets/ValueControlPopover-CKiNHBub.js (removed) 4.92 kB 🟢 -4.92 kB 🟢 -1.77 kB 🟢 -1.57 kB
assets/ValueControlPopover-jY1YGith.js (new) 4.92 kB 🔴 +4.92 kB 🔴 +1.76 kB 🔴 +1.57 kB
assets/Preview3d-DLPMqYD2.js (new) 4.81 kB 🔴 +4.81 kB 🔴 +1.56 kB 🔴 +1.36 kB
assets/Preview3d-ZQ7gjX55.js (removed) 4.81 kB 🟢 -4.81 kB 🟢 -1.57 kB 🟢 -1.36 kB
assets/CancelSubscriptionDialogContent-BVsuY6fi.js (removed) 4.79 kB 🟢 -4.79 kB 🟢 -1.78 kB 🟢 -1.56 kB
assets/CancelSubscriptionDialogContent-DNQR7LJM.js (new) 4.79 kB 🔴 +4.79 kB 🔴 +1.78 kB 🔴 +1.56 kB
assets/DeleteWorkspaceDialogContent-BpDjP8Xn.js (removed) 4.23 kB 🟢 -4.23 kB 🟢 -1.63 kB 🟢 -1.42 kB
assets/DeleteWorkspaceDialogContent-DwIch3PP.js (new) 4.23 kB 🔴 +4.23 kB 🔴 +1.63 kB 🔴 +1.42 kB
assets/WidgetWithControl-B917b5St.js (removed) 4.1 kB 🟢 -4.1 kB 🟢 -1.78 kB 🟢 -1.59 kB
assets/WidgetWithControl-ByifNjwK.js (new) 4.1 kB 🔴 +4.1 kB 🔴 +1.77 kB 🔴 +1.58 kB
assets/LeaveWorkspaceDialogContent-Bb37XJ3S.js (removed) 4.06 kB 🟢 -4.06 kB 🟢 -1.58 kB 🟢 -1.37 kB
assets/LeaveWorkspaceDialogContent-BqT-RWNB.js (new) 4.06 kB 🔴 +4.06 kB 🔴 +1.58 kB 🔴 +1.37 kB
assets/RemoveMemberDialogContent-D4uGN369.js (new) 4.04 kB 🔴 +4.04 kB 🔴 +1.52 kB 🔴 +1.33 kB
assets/RemoveMemberDialogContent-toQGRVwJ.js (removed) 4.04 kB 🟢 -4.04 kB 🟢 -1.53 kB 🟢 -1.33 kB
assets/RevokeInviteDialogContent-C8THuflu.js (new) 3.95 kB 🔴 +3.95 kB 🔴 +1.54 kB 🔴 +1.35 kB
assets/RevokeInviteDialogContent-DjhPTQhl.js (removed) 3.95 kB 🟢 -3.95 kB 🟢 -1.54 kB 🟢 -1.35 kB
assets/InviteMemberUpsellDialogContent-DGiKK8M_.js (removed) 3.82 kB 🟢 -3.82 kB 🟢 -1.41 kB 🟢 -1.23 kB
assets/InviteMemberUpsellDialogContent-DzKld2yK.js (new) 3.82 kB 🔴 +3.82 kB 🔴 +1.4 kB 🔴 +1.23 kB
assets/tierBenefits-pgSYy0j2.js (removed) 3.66 kB 🟢 -3.66 kB 🟢 -1.3 kB 🟢 -1.16 kB
assets/tierBenefits-PsVe-MiJ.js (new) 3.66 kB 🔴 +3.66 kB 🔴 +1.3 kB 🔴 +1.17 kB
assets/saveMesh-BZz-FR2p.js (new) 3.38 kB 🔴 +3.38 kB 🔴 +1.45 kB 🔴 +1.29 kB
assets/saveMesh-CQjD1DQ-.js (removed) 3.38 kB 🟢 -3.38 kB 🟢 -1.45 kB 🟢 -1.29 kB
assets/cloudSessionCookie-4EsVxSHx.js (removed) 3.1 kB 🟢 -3.1 kB 🟢 -1.09 kB 🟢 -981 B
assets/cloudSessionCookie-CyvNNaYQ.js (new) 3.1 kB 🔴 +3.1 kB 🔴 +1.08 kB 🔴 +949 B
assets/GlobalToast-C7lSWTa5.js (removed) 2.91 kB 🟢 -2.91 kB 🟢 -1.21 kB 🟢 -1.06 kB
assets/GlobalToast-Dz2riMkB.js (new) 2.91 kB 🔴 +2.91 kB 🔴 +1.21 kB 🔴 +1.03 kB
assets/SubscribeToRun-AT5a2hVh.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +1.01 kB 🔴 +867 B
assets/SubscribeToRun-CxLRi7uE.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -1.01 kB 🟢 -876 B
assets/CloudRunButtonWrapper-587p-LJF.js (new) 1.68 kB 🔴 +1.68 kB 🔴 +785 B 🔴 +715 B
assets/CloudRunButtonWrapper-Cb2JbgM8.js (removed) 1.68 kB 🟢 -1.68 kB 🟢 -789 B 🟢 -703 B
assets/previousFullPath-ByKiMOby.js (new) 1.39 kB 🔴 +1.39 kB 🔴 +648 B 🔴 +579 B
assets/previousFullPath-DnDmOrPU.js (removed) 1.39 kB 🟢 -1.39 kB 🟢 -650 B 🟢 -572 B
assets/cloudBadges-BMnTiLt2.js (new) 1.36 kB 🔴 +1.36 kB 🔴 +701 B 🔴 +610 B
assets/cloudBadges-NRKTJHHP.js (removed) 1.36 kB 🟢 -1.36 kB 🟢 -707 B 🟢 -614 B
assets/cloudSubscription-B88CCGVe.js (removed) 1.33 kB 🟢 -1.33 kB 🟢 -657 B 🟢 -567 B
assets/cloudSubscription-DKJbFGP_.js (new) 1.33 kB 🔴 +1.33 kB 🔴 +653 B 🔴 +565 B
assets/Load3D-1n17pkVh.js (removed) 1.07 kB 🟢 -1.07 kB 🟢 -495 B 🟢 -437 B
assets/Load3D-C3KMF0BF.js (new) 1.07 kB 🔴 +1.07 kB 🔴 +495 B 🔴 +443 B
assets/nightlyBadges-CfLDCy1V.js (new) 1 kB 🔴 +1 kB 🔴 +530 B 🔴 +471 B
assets/nightlyBadges-Dt1Qig2p.js (removed) 1 kB 🟢 -1 kB 🟢 -530 B 🟢 -472 B
assets/Load3dViewerContent-CrOz9Jnh.js (removed) 993 B 🟢 -993 B 🟢 -466 B 🟢 -417 B
assets/Load3dViewerContent-CSk9z2f8.js (new) 993 B 🔴 +993 B 🔴 +465 B 🔴 +418 B
assets/SubscriptionPanelContentWorkspace-4xSbeU7e.js (new) 920 B 🔴 +920 B 🔴 +436 B 🔴 +378 B
assets/SubscriptionPanelContentWorkspace-XILGhpTs.js (removed) 920 B 🟢 -920 B 🟢 -441 B 🟢 -378 B
assets/graphHasMissingNodes-CeUJLQoz.js (new) 761 B 🔴 +761 B 🔴 +373 B 🔴 +318 B
assets/graphHasMissingNodes-D5Ioej4s.js (removed) 761 B 🟢 -761 B 🟢 -373 B 🟢 -330 B
assets/changeTracker-C31QhB_x.js (new) 757 B 🔴 +757 B 🔴 +384 B 🔴 +334 B
assets/changeTracker-C7FFjKC3.js (removed) 757 B 🟢 -757 B 🟢 -382 B 🟢 -352 B
assets/WidgetLegacy-2gu6X874.js (new) 745 B 🔴 +745 B 🔴 +383 B 🔴 +359 B
assets/WidgetLegacy-D-G2DOsa.js (removed) 745 B 🟢 -745 B 🟢 -383 B 🟢 -351 B
assets/WidgetInputNumber-C07lhQW_.js (new) 469 B 🔴 +469 B 🔴 +265 B 🔴 +227 B
assets/WidgetInputNumber-Ceaam-Wx.js (removed) 469 B 🟢 -469 B 🟢 -265 B 🟢 -228 B
assets/AnimationControls-e1OB6oJR.js 4.61 kB 4.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ApiNodesSignInContent-DyHLRzKO.js 2.69 kB 2.69 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/auto-BTnZwrs2.js 1.7 kB 1.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/BaseViewTemplate-DQKI7wOs.js 1.78 kB 1.78 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/comfy-logo-single-D9MrYETV.js 198 B 198 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ComfyOrgHeader-CuEodz4y.js 910 B 910 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-B-AdR9IA.js 17.5 kB 17.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CbkxT8K8.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CJGmjcIS.js 15.9 kB 15.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CMaLgTTb.js 16.7 kB 16.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Cw07MMbJ.js 18.8 kB 18.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-D7EtdE6o.js 16.9 kB 16.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DknEFpK3.js 15.2 kB 15.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Ds6WuXnw.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Dvq-F-mb.js 17.5 kB 17.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-pUOay9Eo.js 15.1 kB 15.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-u2AZ8xU4.js 16.1 kB 16.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/constants-htt0vt7m.js 579 B 579 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-CbILVHkU.js 532 kB 532 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/i18n-DMNd42BQ.js 199 B 199 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-9hDdrYl6.js 156 kB 156 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BCxyPdDP.js 148 kB 148 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Bvh07s5y.js 186 kB 186 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C2cSZVv4.js 130 kB 130 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C7AXDyHB.js 179 kB 179 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CCfW6OsY.js 151 kB 151 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CIUvAJ2X.js 208 kB 208 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CoeFC4KG.js 149 kB 149 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CuCSlYvh.js 171 kB 171 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CWzA8F-K.js 131 kB 131 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D6ntfRCO.js 153 kB 153 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-Dqa2c7nZ.js 1.82 kB 1.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-DLiWNcHw.js 1.43 kB 1.43 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-BLQErkwF.js 1.75 kB 1.75 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaOtherTop-NQGNpa4H.js 1.02 kB 1.02 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaTextTop-0crUoXWV.js 1.01 kB 1.01 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-sJMrm9jB.js 2.77 kB 2.77 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-C65EmrE8.js 449 kB 449 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-C8Y2lLDs.js 390 kB 390 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Cd21bOuN.js 398 kB 398 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CFVNYgsZ.js 415 kB 415 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CLQAr6Rt.js 399 kB 399 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CWAeDqZ0.js 490 kB 490 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D8p6fLf4.js 395 kB 395 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DoD_2GTf.js 362 kB 362 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DpF2P1me.js 403 kB 403 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DwWCG4ag.js 366 kB 366 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-K2c3p32c.js 449 kB 449 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Popover-BIYdg9E5.js 3.65 kB 3.65 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/rolldown-runtime-DLICfi3-.js 1.97 kB 1.97 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SelectValue-C_7cycpB.js 8.94 kB 8.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/signInSchema-BXbk8sn-.js 1.53 kB 1.53 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Slider-DVkw5nPu.js 3.52 kB 3.52 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/src-CbNGuSYA.js 251 B 251 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SubscriptionBenefits-DVSfLULk.js 2.01 kB 2.01 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/telemetry-zZf2dHJ2.js 226 B 226 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/types-DT3N7am7.js 204 B 204 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/VideoPlayOverlay-D-ZhKuWc.js 1.35 kB 1.35 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widget-NeEr3XWN.js 586 B 586 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-BYbwNME9.js 283 B 283 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-GzA4D-L-.js 3.19 kB 3.19 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-BtoXUSiF.js 2.21 kB 2.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetColorPicker-DCbDfd19.js 2.9 kB 2.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetCurve-CIcV8pqy.js 9.36 kB 9.36 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetGalleria-DZSYhGzO.js 3.61 kB 3.61 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-oYMwrOjF.js 7 kB 7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetInputText-0CncUIzA.js 1.86 kB 1.86 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetLayoutField-TvCt3ARa.js 1.98 kB 1.98 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-Cqdttdn1.js 2.93 kB 2.93 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-DN03zIgB.js 1.1 kB 1.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetTextarea-B7IIifV6.js 3.96 kB 3.96 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetToggleSwitch-CTquGMvp.js 6.8 kB 6.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetTypes-Br_tbhcL.js 393 B 393 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 52 added / 52 removed

@christian-byrne christian-byrne added the preview-cpu Creates a preview ephemeral environment for this PR (CPU only) label Feb 8, 2026
@christian-byrne christian-byrne force-pushed the fix/vue-nodes/reroute-default-size branch from 2e7d670 to 90bea80 Compare February 9, 2026 00:32
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@browser_tests/tests/vueNodes/rerouteNodeSize.spec.ts`:
- Around line 68-69: The assertion is checking for zero resize handles but uses
.last(), which is misleading; update the locator usage by removing .last() so
that resizeHandle is obtained via
rerouteEl.locator('[role="button"][aria-label]') and then assert await
expect(resizeHandle).toHaveCount(0) (keep the existing selector fallback),
ensuring the test clearly asserts that no resize handle elements exist.
🧹 Nitpick comments (1)
browser_tests/tests/vueNodes/rerouteNodeSize.spec.ts (1)

16-20: Consider extracting the repeated reroute node lookup into a helper.

The logic to find the reroute node ID via page.evaluate is duplicated across all four tests. Extracting this into a helper function would reduce duplication and improve maintainability.

♻️ Suggested helper extraction
async function getRerouteNodeId(page: Page): Promise<string | null> {
  return page.evaluate(() => {
    const graph = window.app!.graph!
    const rerouteNode = graph.nodes.find((n) => n.type === 'Reroute')
    return rerouteNode ? String(rerouteNode.id) : null
  })
}

Then in each test:

const rerouteNodeId = await getRerouteNodeId(comfyPage.page)
expect(rerouteNodeId).not.toBeNull()

Also applies to: 33-41, 59-63, 75-79

@christian-byrne christian-byrne marked this pull request as ready for review February 9, 2026 02:34
@christian-byrne christian-byrne requested a review from a team as a code owner February 9, 2026 02:34
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Feb 9, 2026
@pythongosssss
Copy link
Member

In litegraph mode the node is very hard to move as the clickable area for the slots takes up most of the node

@christian-byrne christian-byrne force-pushed the fix/vue-nodes/reroute-default-size branch 3 times, most recently from a88a5e6 to 9925d27 Compare February 14, 2026 00:50
@christian-byrne
Copy link
Contributor Author

I simplified it

Screenshot from 2026-02-13 16-46-37 Screenshot from 2026-02-13 16-46-46

@christian-byrne
Copy link
Contributor Author

Test here: https://pr-2369.testenvs.comfy.org/

@pythongosssss
Copy link
Member

They still create big then shrink on first connect

big.reroute.2.mp4

christian-byrne and others added 5 commits February 26, 2026 18:41
- Skip min-w-[225px] and min-h constraints for reroute nodes in Vue
- Render bare NodeSlots without body wrapper for compact layout
- Hide footer Button and resize handles for reroute nodes
- All changes are Vue-only; no modifications to shared litegraph code
- Add screenshot baseline test for visual regression

Fixes #4704

Amp-Thread-ID: https://ampcode.com/threads/T-019c5893-c9d2-77cb-9e90-a9a0631220db
Reroute nodes without min-h caused ResizeObserver to measure a tiny
DOM height. After removeNodeTitleHeight subtracted 30px the stored
height became 0, making the node invisible when switching to litegraph
mode. Use h-(--node-height) so the DOM height always matches
computeSize() after the title-height normalization.

Amp-Thread-ID: https://ampcode.com/threads/T-019c59fb-447e-7191-ba36-b85f723346e1
…d render

RerouteNode inherited default LGraphNode size [140, 60] but never called
setSize(computeSize()) to override it to [75, 26]. This caused reroute
nodes to render at the large default size, then shrink on first connection.

Amp-Thread-ID: https://ampcode.com/threads/T-019c9d18-bed1-710c-973e-94d2b3dcba6b
@christian-byrne christian-byrne force-pushed the fix/vue-nodes/reroute-default-size branch from a79cbbf to e78fec0 Compare February 27, 2026 03:16
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Feb 27, 2026
@github-actions
Copy link

github-actions bot commented Feb 27, 2026

⚡ Performance Report

Metric Baseline PR Δ
canvas-idle: style recalcs 124 123 -1% ⚪
canvas-idle: layouts 0 0 +0% ⚪
canvas-idle: task duration 418ms 412ms -1% ⚪
canvas-mouse-sweep: style recalcs 186 174 -6% ⚪
canvas-mouse-sweep: layouts 13 12 -8% ⚪
canvas-mouse-sweep: task duration 929ms 865ms -7% ⚪
dom-widget-clipping: style recalcs 41 46 +12% 🟠
dom-widget-clipping: layouts 0 0 +0% ⚪
dom-widget-clipping: task duration 337ms 417ms +24% 🔴
Raw data
{
  "timestamp": "2026-02-28T12:49:13.713Z",
  "gitSha": "07277711ad18b700d17fdc7ebb620668533cc3e2",
  "branch": "fix/vue-nodes/reroute-default-size",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2031.0910000000035,
      "styleRecalcs": 123,
      "styleRecalcDurationMs": 20.873999999999995,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 412.23199999999997,
      "heapDeltaBytes": -3220324
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1913.8759999999877,
      "styleRecalcs": 174,
      "styleRecalcDurationMs": 51.77899999999999,
      "layouts": 12,
      "layoutDurationMs": 3.779,
      "taskDurationMs": 864.888,
      "heapDeltaBytes": -3494644
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 612.4849999999924,
      "styleRecalcs": 46,
      "styleRecalcDurationMs": 15.635000000000003,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 417.34599999999995,
      "heapDeltaBytes": 7895480
    }
  ]
}

@christian-byrne
Copy link
Contributor Author

/update-playwright

@github-actions
Copy link

Updating Playwright Expectations

@christian-byrne
Copy link
Contributor Author

/update-playwright

@christian-byrne christian-byrne added the New Browser Test Expectations New browser test screenshot should be set by github action label Feb 28, 2026
@github-actions github-actions bot removed the New Browser Test Expectations New browser test screenshot should be set by github action label Feb 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-cpu Creates a preview ephemeral environment for this PR (CPU only) size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Please make reroutes smaller

3 participants